# -*- coding: utf-8 -*-
'''
@文件    :scheduler.py
@说明    :任务管理
@时间    :2025/08/25 15:56:20
@作者    :浪晋
@版本    :1.0
'''
from app.core.plugin import scheduler
from app.services.monitor.task import service
from app.core.plugin import logger
from app.settings.config import config


def task_listener(event):
    if hasattr(event, 'job_id'):
        job = scheduler.get_job(event.job_id)
        logger.debug(f"触发事件：{event}, 任务信息：{job.__getstate__()}")

async def init_scheduler_task():
    """初始化定时任务"""
    scheduler.configure()
    scheduler.add_listener(task_listener)
    scheduler.add_jobstore("redis", config.REDIS_CONFIG)
    scheduler.start()
    await service.init_task()
    logger.info("初始化定时任务完成")


async def close_scheduler_task():
    """关闭定时任务"""
    scheduler.remove_jobs()
    scheduler.shutdown()
    logger.info("关闭定时任务完成")
